home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d5 / pmusic12.arc / AUTOHARP.C < prev    next >
Text File  |  1990-01-29  |  4KB  |  111 lines

  1. /*
  2. *
  3. * AutoHarp.c -- plays chords on key presses using Polyphonic Music functions
  4. *
  5. *****************/
  6.  
  7. #include "poly.h"
  8. #include "polychrd.h"
  9. #include <stdio.h>
  10.  
  11. main()
  12. {
  13. char c;   
  14.  
  15.    puts("AUTOHARP Simulator ver 1.10 - copr. 1989 GrigaSoft Productions");   
  16.    puts("");
  17.    puts(" Chords:  A   A#   B   C   C#   D   D#   E   F   F#   G   G#  ");
  18.    puts("         --- ---- --- --- ---- --- ---- --- --- ---- --- ---- ");
  19.    puts("");
  20.    puts(" MAJOR:  <1>  <2> <3> <4>  <5> <6>  <7> <8> <9>  <0> <->  <=> ");
  21.    puts("");
  22.    puts(" MINOR:  <q>  <w> <e> <r>  <t> <y>  <u> <i> <o>  <p> <[>  <]> ");
  23.    puts("");
  24.    puts(" DIM:    <a>  <s> <d> <f>  <g> <h>  <j> <k> <l>  <;> <'>  <`> ");
  25.    puts("");
  26.    puts(" SEVNTH: <Shift>");
  27.    puts("");
  28.    puts(" Press keys to play chords (CAPS LOCK off). Press <ESC> to quit...");
  29.  
  30.    do {
  31.       c = getch();
  32.       switch (c)
  33.          {
  34.          case '1' : poly( a_maj );   break;
  35.          case '2' : poly( ash_maj ); break;
  36.          case '3' : poly( b_maj );   break;
  37.          case '4' : poly( c_maj );   break;
  38.          case '5' : poly( csh_maj ); break;
  39.          case '6' : poly( d_maj );   break;
  40.          case '7' : poly( dsh_maj ); break;
  41.          case '8' : poly( e_maj );   break;
  42.          case '9' : poly( f_maj );   break;
  43.          case '0' : poly( fsh_maj ); break;
  44.          case '-' : poly( g_maj );   break;
  45.          case '=' : poly( gsh_maj ); break;
  46.          case 'q' : poly( a_min );   break;
  47.          case 'w' : poly( ash_min ); break;
  48.          case 'e' : poly( b_min );   break;
  49.          case 'r' : poly( c_min );   break;
  50.          case 't' : poly( csh_min ); break;
  51.          case 'y' : poly( d_min );   break;
  52.          case 'u' : poly( dsh_min ); break;
  53.          case 'i' : poly( e_min );   break;
  54.          case 'o' : poly( f_min );   break;
  55.          case 'p' : poly( fsh_min ); break;
  56.          case '[' : poly( g_min );   break;
  57.          case ']' : poly( gsh_min ); break;
  58.          case '!' : poly( a_7 );     break;
  59.          case '@' : poly( ash_7 );   break;
  60.          case '#' : poly( b_7 );     break;
  61.          case '$' : poly( c_7 );     break;
  62.          case '%' : poly( csh_7 );   break;
  63.          case '^' : poly( d_7 );     break;
  64.          case '&' : poly( dsh_7 );   break;
  65.          case '*' : poly( e_7 );     break;
  66.          case '(' : poly( f_7 );     break;
  67.          case ')' : poly( fsh_7 );   break;
  68.          case '_' : poly( g_7 );     break;
  69.          case '+' : poly( gsh_7 );   break;
  70.          case 'Q' : poly( a_m7 );    break;
  71.          case 'W' : poly( ash_m7 );  break;
  72.          case 'E' : poly( b_m7 );    break;
  73.          case 'R' : poly( c_m7 );    break;
  74.          case 'T' : poly( csh_m7 );  break;
  75.          case 'Y' : poly( d_m7 );    break;
  76.          case 'U' : poly( dsh_m7 );  break;
  77.          case 'I' : poly( e_m7 );    break;
  78.          case 'O' : poly( f_m7 );    break;
  79.          case 'P' : poly( fsh_m7 );  break;
  80.          case '{' : poly( g_m7 );    break;
  81.          case '}' : poly( gsh_m7 );  break;
  82.          case 'a' : poly( a_dim );   break;
  83.          case 's' : poly( ash_dim ); break;
  84.          case 'd' : poly( b_dim );   break;
  85.          case 'f' : poly( c_dim );   break;
  86.          case 'g' : poly( csh_dim ); break;
  87.          case 'h' : poly( d_dim );   break;
  88.          case 'j' : poly( dsh_dim ); break;
  89.          case 'k' : poly( e_dim );   break;
  90.          case 'l' : poly( f_dim );   break;
  91.          case ';' : poly( fsh_dim ); break;
  92.          case SQ  : poly( g_dim );   break;
  93.          case '`' : poly( gsh_dim ); break;
  94.          case 'A' : poly( a_dim );   break;
  95.          case 'S' : poly( ash_dim ); break;
  96.          case 'D' : poly( b_dim );   break;
  97.          case 'F' : poly( c_dim );   break;
  98.          case 'G' : poly( csh_dim ); break;
  99.          case 'H' : poly( d_dim );   break;
  100.          case 'J' : poly( dsh_dim ); break;
  101.          case 'K' : poly( e_dim );   break;
  102.          case 'L' : poly( f_dim );   break;
  103.          case ':' : poly( fsh_dim ); break;
  104.          case '"' : poly( g_dim );   break;
  105.          case '~' : poly( gsh_dim ); break;
  106.          }
  107.       }
  108.    while (c != 27);   /* until <ESC> is pressed */
  109. }
  110.                      
  111.